package com.komorebi.friends.service;

import com.komorebi.friends.model.entity.UserTeam;
import com.baomidou.mybatisplus.extension.service.IService;
import com.komorebi.friends.model.vo.TeamVO;
import com.komorebi.friends.model.vo.UserVO;

import java.util.List;

/**
* @author LX-MF
* @description 针对表【user_team(用户 - 队伍关联表)】的数据库操作Service
* @createDate 2024-10-12 23:17:48
*/
public interface UserTeamService extends IService<UserTeam> {

     /**
      * 计数某人队伍下有多少个用户（不含队长）
      * @param teamId
      * @return
      */
     int countUser(Long teamId);

     /**
      * 计数某用记加入了多少队伍
      * @param userId
      * @return
      */
     int countTeam(Long userId);

     /**
      * 列出某队伍里的用户
      * @param teamId 队伍的id
      * @return
      */
     List<UserVO> listUser(Long teamId);

     /**
      * 列出用户参加的队伍id列表
      * @param userId
      * @return
      */
     List<Long> listTeam(Long userId);

     /**
      * 根据用户id
      * @param teamId 队伍id
      * @param userId 用户id
      * @return
      */
     UserTeam find(Long teamId, Long userId);

     /**
      * 返回队伍里前几个加入的用户
      * @param teamId 队伍 id
      * @param current 加入时间的排名
      * @return
      */
     UserTeam findByJoinTime(Long teamId, int current);
}
